fix: accurate docs + wire capabilities/ + verify deploy with real Docker#2
Merged
Merged
Conversation
…ath with real Docker Docs vs code drift (docs must be accurate — hard rule): - AGENTS.md/README/spec/* described a non-existent generator (bootstrap.py), Anthropic default, Vite 6, web/ dir, Postgres prod, MCP/A2A stubs, and a src/ + LangGraph transform_text skeleton. Rewrote to match the actual backend/app/ hand-rolled supervisor/worker scaffold (Gemini default, Vite 5, frontend/, SQLite dev). Added scope note to harness/patterns/project-layout.md. Capabilities wired into runtime: - backend/app/capabilities.py loads capabilities/*.md at startup (skips README), robust multi-path resolution so it works locally AND in the Docker image. - GET /capabilities endpoint (new router). - backend/Dockerfile.backend + deploy/Dockerfile now COPY capabilities/ into the image; docker-compose build context moved to repo root. Verified (real Docker, not just CI): - docker compose up --build: backend healthy, frontend up; /health, /capabilities, /api/chat, /goals/run, /api/runs all return 200 inside the container. - deploy/Dockerfile builds. - backend tests 6 passed; evals 4 passed/1 skipped (live gated on key); frontend builds. Note: a system launchd http.server occupies host port 8000, so host-side curl was blocked, but the container itself is proven working via in-container curl.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes the boilerplate battle-ready for tomorrow's buildathon: docs now match the real code, the orphaned
capabilities/dir is wired into the running agent, and the full deploy path is verified with a real Docker daemon (not just trusted to CI).Docs vs code drift (your accuracy rule is hard)
The
AGENTS.md,README.md, andspec/*files described a non-existent architecture:scripts/bootstrap.py/templates/) that doesn't existweb/dir (actual:frontend/)src/+ LangGraphtransform_textskeleton (actual:backend/app/hand-rolled supervisor/worker)All rewritten to describe the actual
backend/app/scaffold. Added a scope note toharness/patterns/project-layout.mdso thesrc/+LangGraph catalogue is clearly labelled as the generated-project target, not this repo's baseline.Capabilities wired into runtime
backend/app/capabilities.pyloadscapabilities/*.mdat startup (skipsREADME.md); robust multi-path resolution works locally and inside the Docker image.GET /capabilitiesendpoint.backend/Dockerfile.backend+deploy/Dockerfilenow COPYcapabilities/into the image; compose build context moved to repo root.Verified with a real Docker daemon (colima)
docker compose up --build: backend reports healthy, frontend up;/health,/capabilities,/api/chat,/goals/{id}/run,/api/runsall return 200 inside the container.deploy/Dockerfilebuilds (this is what GCP/cloudbuild uses)..env, so CI never fails); frontend:npm run buildclean.Known environmental note (not a boilerplate defect)
A system
launchdhttp.server 8000occupies the host port 8000, so host-sidecurl localhost:8000was blocked. Verification was done via in-containercurl, which proves the container is correct. On a clean machine / GCP VM this won't apply.Test plan
pytest tests→ 6 passedpytest evals→ 4 passed, 1 skipped (no key)npm run builddocker compose up --build→ all endpoints 200 in-containerdocker build -f deploy/Dockerfile